package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 油机发电费账单对象 twr_oil_power_fee
 * 
 * @author expense
 * @date 2024-11-30
 */
public class TwrOilPowerFee extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 油机发电费账单ID */
    private String oilPowerFeeId;

    /** 发电结束年月 */
    @Excel(name = "发电结束年月")
    private String yearmonth;

    /** 账单状态（0未汇总、1已汇总） */
    @Excel(name = "账单状态", readConverterExp = "0=未汇总、1已汇总")
    private String state;

    /** 汇总单ID */
    @Excel(name = "汇总单ID")
    private String billSummaryId;

    /** 省份ID */
    @Excel(name = "省份ID")
    private String prvId;

    /** 区县ID */
    @Excel(name = "区县ID")
    private String regId;

    /** 站址编码 */
    @Excel(name = "站址编码")
    private String towerStationCode;

    /** 站址名称 */
    @Excel(name = "站址名称")
    private String towerStationName;

    /** 工单号 */
    @Excel(name = "工单号")
    private String orderNumber;

    /** 总金额（油机发电费-扣罚-追溯） */
    @Excel(name = "总金额", readConverterExp = "油=机发电费-扣罚-追溯")
    private BigDecimal feeTotal;

    /** 油机发电费（油料费+劳务费） */
    @Excel(name = "油机发电费", readConverterExp = "油=料费+劳务费")
    private BigDecimal oilPowerFee;

    /** 油料费 */
    @Excel(name = "油料费")
    private BigDecimal oilFee;

    /** 劳务费 */
    @Excel(name = "劳务费")
    private BigDecimal serviceFee;

    /** 车辆使用费 */
    @Excel(name = "车辆使用费")
    private BigDecimal carUseFee;

    /** 扣罚金额 */
    @Excel(name = "扣罚金额")
    private BigDecimal punishFee;

    /** 追溯金额 */
    @Excel(name = "追溯金额")
    private BigDecimal traceFee;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private String createUser;

    /** 计费模式ID */
    @Excel(name = "计费模式ID")
    private String pricingModelId;

    /** 计费参数ID */
    @Excel(name = "计费参数ID")
    private String pricingParameterId;

    /** 发电记录id */
    @Excel(name = "发电记录id")
    private String recordId;

    /** 账单类型 1标准式 2固定式 */
    @Excel(name = "账单类型 1标准式 2固定式")
    private String billType;

    /** 市电停电时间（时—分） */
    @Excel(name = "市电停电时间", readConverterExp = "时=—分")
    private Date eleOutTime;

    /** 外市电恢复时间+收油机时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "外市电恢复时间+收油机时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date eleInTime;

    /** 发电开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发电开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date generationStartTime;

    /** 发电结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发电结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date generationEndTime;

    /** 账单创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账单创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billCreateTime;

    /** 新账单标记0 历史记录 1 新记录 */
    @Excel(name = "新账单标记0 历史记录 1 新记录")
    private Integer newFlag;

    public void setOilPowerFeeId(String oilPowerFeeId) 
    {
        this.oilPowerFeeId = oilPowerFeeId;
    }

    public String getOilPowerFeeId() 
    {
        return oilPowerFeeId;
    }
    public void setYearmonth(String yearmonth) 
    {
        this.yearmonth = yearmonth;
    }

    public String getYearmonth() 
    {
        return yearmonth;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setBillSummaryId(String billSummaryId) 
    {
        this.billSummaryId = billSummaryId;
    }

    public String getBillSummaryId() 
    {
        return billSummaryId;
    }
    public void setPrvId(String prvId) 
    {
        this.prvId = prvId;
    }

    public String getPrvId() 
    {
        return prvId;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setTowerStationCode(String towerStationCode) 
    {
        this.towerStationCode = towerStationCode;
    }

    public String getTowerStationCode() 
    {
        return towerStationCode;
    }
    public void setTowerStationName(String towerStationName) 
    {
        this.towerStationName = towerStationName;
    }

    public String getTowerStationName() 
    {
        return towerStationName;
    }
    public void setOrderNumber(String orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber() 
    {
        return orderNumber;
    }
    public void setFeeTotal(BigDecimal feeTotal) 
    {
        this.feeTotal = feeTotal;
    }

    public BigDecimal getFeeTotal() 
    {
        return feeTotal;
    }
    public void setOilPowerFee(BigDecimal oilPowerFee) 
    {
        this.oilPowerFee = oilPowerFee;
    }

    public BigDecimal getOilPowerFee() 
    {
        return oilPowerFee;
    }
    public void setOilFee(BigDecimal oilFee) 
    {
        this.oilFee = oilFee;
    }

    public BigDecimal getOilFee() 
    {
        return oilFee;
    }
    public void setServiceFee(BigDecimal serviceFee) 
    {
        this.serviceFee = serviceFee;
    }

    public BigDecimal getServiceFee() 
    {
        return serviceFee;
    }
    public void setCarUseFee(BigDecimal carUseFee) 
    {
        this.carUseFee = carUseFee;
    }

    public BigDecimal getCarUseFee() 
    {
        return carUseFee;
    }
    public void setPunishFee(BigDecimal punishFee) 
    {
        this.punishFee = punishFee;
    }

    public BigDecimal getPunishFee() 
    {
        return punishFee;
    }
    public void setTraceFee(BigDecimal traceFee) 
    {
        this.traceFee = traceFee;
    }

    public BigDecimal getTraceFee() 
    {
        return traceFee;
    }
    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }
    public void setPricingModelId(String pricingModelId) 
    {
        this.pricingModelId = pricingModelId;
    }

    public String getPricingModelId() 
    {
        return pricingModelId;
    }
    public void setPricingParameterId(String pricingParameterId) 
    {
        this.pricingParameterId = pricingParameterId;
    }

    public String getPricingParameterId() 
    {
        return pricingParameterId;
    }
    public void setRecordId(String recordId) 
    {
        this.recordId = recordId;
    }

    public String getRecordId() 
    {
        return recordId;
    }
    public void setBillType(String billType) 
    {
        this.billType = billType;
    }

    public String getBillType() 
    {
        return billType;
    }
    public void setEleOutTime(Date eleOutTime) 
    {
        this.eleOutTime = eleOutTime;
    }

    public Date getEleOutTime() 
    {
        return eleOutTime;
    }
    public void setEleInTime(Date eleInTime) 
    {
        this.eleInTime = eleInTime;
    }

    public Date getEleInTime() 
    {
        return eleInTime;
    }
    public void setGenerationStartTime(Date generationStartTime) 
    {
        this.generationStartTime = generationStartTime;
    }

    public Date getGenerationStartTime() 
    {
        return generationStartTime;
    }
    public void setGenerationEndTime(Date generationEndTime) 
    {
        this.generationEndTime = generationEndTime;
    }

    public Date getGenerationEndTime() 
    {
        return generationEndTime;
    }
    public void setBillCreateTime(Date billCreateTime) 
    {
        this.billCreateTime = billCreateTime;
    }

    public Date getBillCreateTime() 
    {
        return billCreateTime;
    }
    public void setNewFlag(Integer newFlag) 
    {
        this.newFlag = newFlag;
    }

    public Integer getNewFlag() 
    {
        return newFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("oilPowerFeeId", getOilPowerFeeId())
            .append("yearmonth", getYearmonth())
            .append("state", getState())
            .append("billSummaryId", getBillSummaryId())
            .append("prvId", getPrvId())
            .append("regId", getRegId())
            .append("towerStationCode", getTowerStationCode())
            .append("towerStationName", getTowerStationName())
            .append("orderNumber", getOrderNumber())
            .append("feeTotal", getFeeTotal())
            .append("oilPowerFee", getOilPowerFee())
            .append("oilFee", getOilFee())
            .append("serviceFee", getServiceFee())
            .append("carUseFee", getCarUseFee())
            .append("punishFee", getPunishFee())
            .append("traceFee", getTraceFee())
            .append("createTime", getCreateTime())
            .append("createUser", getCreateUser())
            .append("pricingModelId", getPricingModelId())
            .append("pricingParameterId", getPricingParameterId())
            .append("recordId", getRecordId())
            .append("billType", getBillType())
            .append("eleOutTime", getEleOutTime())
            .append("eleInTime", getEleInTime())
            .append("generationStartTime", getGenerationStartTime())
            .append("generationEndTime", getGenerationEndTime())
            .append("billCreateTime", getBillCreateTime())
            .append("newFlag", getNewFlag())
            .toString();
    }
}
